<?php
return [
    'redis' => [
        'parameters' => 'tcp://127.0.0.1:6379',
        'options' => []
    ],
    /**
     * 根据需要配置elasticsearch
     * 推荐使用此方式做运维监控
     */
    // 'elasticsearch' => [
    //     'hosts' => ['127.0.0.1:9200'],
    //     'options' => [
    //         'index' => 'elastic_index_name',
    //         'type'  => 'elastic_doc_type',
    //     ]
    // ],
    /**
     * 通知策略
     * fail_interval：通知失败后，间隔多少秒再次通知
     * max_times：最大通知次数，失败次数到达此次数则认为目标失活，会丢弃该条目的通知服务
     */
    'tactics' =>  [
        'A' => [
            'fail_interval' => [1, 1, 1, 5, 5, 5, 10, 10, 10, 60, 600, 600, 600, 3600],
            'max_times' => 50
        ],
        'B' => [
            'fail_interval' => [1, 1, 1, 5, 5, 5, 30, 30, 60, 60, 600, 600, 3600],
            'max_times' => 50
        ],
    ],
    /**
     * notify_rates：通知频率，数组第一个表示当前时间点的通知频率，第二个表示当前时间点上一秒的通知频率，以此类推，通常当前时间点就能把任务通知完毕，若任务较多，在当前时间的任务未全部执行，剩下的任务会跌落到上一个时间点，一般3-5个时间点比较合理
     * clear_rate：若上面的所有时间点都没有将任务执行完毕，还有一个兜底的进程，做清理工作，此处就是兜底进程的执行频率
     * clear_start：兜底进程的清理时间点，通常是当前时间的前面10分钟基本能满足需求，视具体情况而定，比如系统停止了一个小时，那么兜底时间最好填写系统停止时间之前
     */
    'notify_rates' => [0.05, 0.05, 0.05, 0.05, 0.05],
    'clear_rate' => 0.05,
    'clear_start' => time() - 600
];
